指针数组问题"定义并初始化一个指针数组........."

来源:百度知道 编辑:UC知道 时间:2024/06/05 00:55:44
指针数组问题"定义并初始化一个指针数组,其元素分别是字符串"student","class","school",用strcmp函数比较各个字符串的首地址,并按ASCLL码从小到大输出,即要输出class,school,student,teacher....
请各位高手指教一哈,谢谢!!!!

刚刚回答的一个问题:
要求编一自定义的函数sort(),完成对n个字符串的降序排序,然后在main()函数中调用sort()对"Beijing","Shanghai","Shenzhen","Nanjing","Dalian","Qingdao"这6个字符串排序,要求用指针数组表示这6个字符串。你的是按照从小到大,我这是从大到小,道理是一样的。

以下是程序:

//VC++ 6.0编译通过。保存为.c文件就可以编译
//TurboC 我没试过,如果你要用Turbo C编译,请你将里面的注释都删除
//因为在TC中只认识带星号的多行注释。
//此程序虽然是用VC++ 6.0编译,但是是纯C语言的语法。没有包含任何
//C++的内容

#include<string.h>
//进行排序的函数,主要是对字符串数组进行排序
//size表示数组元素个数
//此排序算法使用的是选择排序
//利用到了C语言中的字符串比较函数strcmp(str1,str2)
//此函数的两个参数都是char*类型。
void sort(char *str[],int size)
{
int i,j;
for(i=0;i<size-1;i++)
{
for(j=i+1;j<size;j++)
if(strcmp(str[i],str[j])<0)
{
char *p=str[i];
str[i]=str[j];
str[j]=p;
}
}
}
//打印一个字符串数组的内容
//size表示字符串数组元素的个数
void print(char *str[],int size)
{
int i;
for(i=0;i<size;i+